﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///НДС состояния по реализации со ставкой НДС 0%
	///</summary>
	[DataContract]
	public enum НДССостоянияРеализация0
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///Ожидается подтверждение 0%
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"5b9a29c0-71f2-4d41-9d6b-4438df21c6cc\", \"Представление\":\"ОжидаетсяПодтверждение\"}")]
		ОжидаетсяПодтверждение = 0,//Ожидается подтверждение 0%
	///<summary>
	///Подтверждена реализация 0%
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"8c6ca452-15ff-4546-97f7-1912bbc3cdde\", \"Представление\":\"ПодтвержденаРеализация0\"}")]
		ПодтвержденаРеализация0 = 1,//Подтверждена реализация 0%
	///<summary>
	///Не подтверждена реализация 0%
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"646273e2-93a9-409a-b6b2-30bd5b1a85f9\", \"Представление\":\"НеПодтвержденаРеализация0\"}")]
		НеПодтвержденаРеализация0 = 2,//Не подтверждена реализация 0%
	}
	public static partial class НДССостоянияРеализация0_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///Ожидается подтверждение 0%
		///</summary>
		public static readonly Guid ОжидаетсяПодтверждение = new Guid("38446b9d-21df-ccc6-4d41-71f25b9a29c0");//Ожидается подтверждение 0%
		///<summary>
		///Подтверждена реализация 0%
		///</summary>
		public static readonly Guid ПодтвержденаРеализация0 = new Guid("1219f797-c3bb-decd-4546-15ff8c6ca452");//Подтверждена реализация 0%
		///<summary>
		///Не подтверждена реализация 0%
		///</summary>
		public static readonly Guid НеПодтвержденаРеализация0 = new Guid("bd30b2b6-1a5b-f985-409a-93a9646273e2");//Не подтверждена реализация 0%
		public static НДССостоянияРеализация0 Получить(this НДССостоянияРеализация0 Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static НДССостоянияРеализация0 Получить(this НДССостоянияРеализация0 Значение, Guid Ссылка)
		{
			if(Ссылка == ОжидаетсяПодтверждение)
			{
				return НДССостоянияРеализация0.ОжидаетсяПодтверждение;
			}
			else if(Ссылка == ПодтвержденаРеализация0)
			{
				return НДССостоянияРеализация0.ПодтвержденаРеализация0;
			}
			else if(Ссылка == НеПодтвержденаРеализация0)
			{
				return НДССостоянияРеализация0.НеПодтвержденаРеализация0;
			}
			return НДССостоянияРеализация0.ПустаяСсылка;
		}
		public static byte[] Ключ(this НДССостоянияРеализация0 Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this НДССостоянияРеализация0 Значение)
		{
			switch (Значение)
			{
				case НДССостоянияРеализация0.ОжидаетсяПодтверждение: return ОжидаетсяПодтверждение;
				case НДССостоянияРеализация0.ПодтвержденаРеализация0: return ПодтвержденаРеализация0;
				case НДССостоянияРеализация0.НеПодтвержденаРеализация0: return НеПодтвержденаРеализация0;
			}
			return Guid.Empty;
		}
	}
}